717 research outputs found
An Efficient Dynamic Programming Algorithm for the Generalized LCS Problem with Multiple Substring Exclusion Constrains
In this paper, we consider a generalized longest common subsequence problem
with multiple substring exclusion constrains. For the two input sequences
and of lengths and , and a set of constrains
of total length , the problem is to find a common subsequence of and
excluding each of constrain string in as a substring and the length of
is maximized. The problem was declared to be NP-hard\cite{1}, but we
finally found that this is not true. A new dynamic programming solution for
this problem is presented in this paper. The correctness of the new algorithm
is proved. The time complexity of our algorithm is .Comment: arXiv admin note: substantial text overlap with arXiv:1301.718
A note on the largest number of red nodes in red-black trees
In this paper, we are interested in the number of red nodes in red-black
trees. We first present an time dynamic programming solution for
computing , the largest number of red internal nodes in a red-black tree
on keys. Then the algorithm is improved to some time recursive
and nonrecursive algorithms. Based on these improved algorithms we finally find
a closed-form solution of
Complete Solutions for a Combinatorial Puzzle in Linear Time
In this paper we study a single player game consisting of black checkers
and white checkers, called shifting the checkers. We have proved that the
minimum number of steps needed to play the game for general and is . We have also presented an optimal algorithm to generate an optimal
move sequence of the game consisting of black checkers and white
checkers, and finally, we present an explicit solution for the general game
Using fractional order method to generalize strengthening generating operator buffer operator and weakening buffer operator
Traditional integer order buffer operator is extended to fractional order buffer operator, the corresponding relationship between the weakening buffer operator and the strengthening buffer operator is revealed. Fractional order buffer operator not only can generalize the weakening buffer operator and the strengthening buffer operator, but also realize tiny adjustment of buffer effect. The effectiveness of GM(1,1) with the fractional order buffer operator is validated by six cases
An Auto-Parallelizer for Distributed Computing in Haskell
One of the main challenges in distributed computing is building interfaces
and APIs that allow programmers with limited background in distributed systems
to write scalable, performant, and fault-tolerant applications on large
clusters. In this demonstration, we designed and implemented a Haskell
auto-parallelizer with a simple yet powerful interface by taking advantage of
the default purity of Haskell functions. Finally, we benchmarked our
implementation on a set of examples to illustrate the potential for future work
in this direction.Comment: 2 pages excluding title page and reference page. 2 figures. This work
was submitted to the 28th ACM SIGPLAN International Conference on Functional
Programming, Haskell Symposium. This work was accepted for oral presentation
and was presented on Sep 8, 202
- …